package com.itheima.copydemo1;

import java.io.*;

public class Test1 {

    public static void main(String[] args) {

        //使用字节流完成文件复制操作（任何文件的底层都是字节）
        //源文件：D:\\a.txt
        //目标文件：D:\\a_new.txt（复制过去时一定要带文件名）
        try {
            copyFile("D:\\a.txt", "D:\\a_new.txt");
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    public static void copyFile(String srcPath, String destPath) throws Exception {

        //1.创建一个文件字节输入流管道与源文件接通
        InputStream fis = new FileInputStream(srcPath);
        //2.创建一个文件字节输出流管道与目标文件接通
        OutputStream fos = new FileOutputStream(destPath);

        //3.将输入流中的字节，按照一定的规律，写入到输出流中
        byte[] buffer = new byte[1024];
        int len;
        while ((len = fis.read(buffer)) != -1) {
            fos.write(buffer, 0, len);      //读取多少字节，就写入多少字节
        }
        System.out.println("复制成功！");

        //4.关闭资源（不专业，当上面有异常时，会关闭失败）
        fos.close();
        fis.close();

    }

}
